﻿#pragma once

#define MAX_SIZE 1024
#define SEQSTACK_TRUE  1
#define SEQSTACK_FALSE 0

typedef struct SEQSTACK {
    void* data[MAX_SIZE];  // 指针数组，数组中只能保存 指针
    int size;   // 表示数组中元素个数
}SeqStack;

// 初始化
SeqStack* Init_SeqStack();

// 入栈: 数据 dt 入栈
int Push_SeqStack(SeqStack* stack, void* dt);

// 获得栈顶元素
void* Front_SeqStack(SeqStack* stack);

// 出栈
int Pop_SeqStack(SeqStack* stack);

// 判断栈是否为空
int IsEmpty_SeqStack(SeqStack* stack);

// 返回栈中元素
int GetSize_SeqStack(SeqStack* stack);

// 清空
int Clear_SeqStack(SeqStack* stack);

// 销毁
int Destroy_SeqStack(SeqStack* stack);